from __future__ import annotations

from typing import List, Dict


BLOOM_PROMPTS: Dict[str, List[str]] = {
    "记忆": ["定义", "列举", "识别"],
    "理解": ["解释", "概述", "描述"],
    "应用": ["求解", "使用", "计算"],
    "分析": ["比较", "分解", "推导"],
    "评价": ["评估", "判断", "论证"],
    "创造": ["设计", "构建", "改进"],
}


QUESTION_TYPE_TEMPLATES: Dict[str, List[str]] = {
    "选择题": [
        "关于{kp_name}，下列说法中最{cue}的是：",
    ],
    "填空题": [
        "请填空：与{kp_name}相关的{cue}是______。",
    ],
    "解答题": [
        "请{cue}{kp_name}：{context} 并给出关键步骤。",
    ],
    "判断题": [
        "判断正误：{statement}。",
    ],
    "计算题": [
        "已知{context}，请{cue}{kp_name}并给出结果。",
    ],
}


def cognitive_cue(cognitive: str) -> str:
    cues = BLOOM_PROMPTS.get(cognitive, BLOOM_PROMPTS["理解"])
    return cues[0]